A Reflective Forward-Chained Inference Engine to Reason about Object-Oriented Systems
نویسنده
چکیده
Recently, a lot of research concerning co-evolution has been done. Co-evolution is a brand new approach that tries to find a solution for the problem of the missing link between the design and the implementation of object-oriented software systems. To date this has been done by using a rule-based backward chained reasoning mechanism as a declarative meta layer on top of the implementation of an object-oriented system. However, one of the major drawbacks of this approach is the fact that a goal should be clearly specified. Such a (specification of the) goal is very often not available. In this dissertation we will show that in some specific cases a rule-based backward chained reasoning mechanism is not sufficient. Therefore, as an alternative mechanism we suggest a rule-based forward chained reasoning mechanism to implement the declarative meta layer, in order to handle these specific cases. We will validate this thesis by means of some experiments done with a forward chained prototype we built. The prototype is based on the expert system tool KAN and implemented in Squeak. The conducted experiments confirm our thesis. Especially in cases where no specific goal can be specified and in cases where the reasoning state has to be preserved, our alternative approach proved to be preferable.
منابع مشابه
An object-oriented inference engine for PROLOG
This article describes an object-oriented inference engine for PROLOG. The inference engine is part of the Graphically Oriented Development Environment for Logic (Gödel) programming. Gödel incrementally translates source clauses to a persistent clause base in which each clause is an object. The inference engine is a distributed one in which each clause object knows how to unify and execute itse...
متن کاملTowards Linguistic Symbiosis of an Object-Oriented and a Logic Programming Language
Reflective systems have a causally connected (metalevel) representation of themselves. Most reflective systems use the same language to reason about their metalevel representation as the language that is used to reason about their domain. In symbiotic reflection a different language is used at the metalevel. The practical usability of this symbiotic reflection is enhanced if a linguistic symbio...
متن کاملObject Oriented Design and Implementation of an Inference Engine for Fuzzy Systems
paper describes the design and implementation of an inference engine for the execution of Fuzzy Inference Systems (FIS), the architecture of the system is presented, and the object-oriented design of the main modules is also discussed. The engine is implemented as a component to be referenced by other applications locally or remotely as a web service. This engine is needed by our research group...
متن کاملSoftware Fault Prediction Using Fuzzy Inference System and Object-oriented Metrics
Software fault prediction means identification of the faultprone parts in the software. This enables to focus testing activities on those software modules that are predicted as fault-prone. As can be seen in literature, many soft computing techniques are employed to make more accurate predictions previously. However, software fault prediction has not become routine activity in the software deve...
متن کاملUsing a Description Classi er to Enhance Deductive Inference
The representation languages found in many expert system shells are hybrids composed of a frame language and a rule language. Unfortunately, the frame and rule components in these systems are not well integrated, and as a result they miss important classes of inferences. In place of frames, LOOM combines a description language with a rule language, and uses an inference engine called a classi e...
متن کامل